Currently, deploying software packages such as needed for management agents in computer systems is typically manual and difficult to automate. The management agents or other software entities are customarily identified by Internet Protocol (IP) addresses or host names and port numbers, which usually depend on the network infrastructure of machines that host the management agents or the software entities. Further, a node or an instance representing a management agent usually requires individual configuration information that is difficult to maintain when the number of instances significantly increases with larger networks.
Remote software installation and configuration systems have been available in which configuration engines provide centralized configuration information and interfaces for operators to perform remote configuration tasks, usually described in the form of scripts. However, configuration engines are also manual or operator-driven, i.e., the operators are required to initiate configurations. Configuration engines are not designed to install and establish whole topologies as controlled processes. A configuration engine initiates only one process, which does not initiate other processes for installing other instances, and does not facilitate automatic assignment of identity and roles to individual instances.
As the systems and their instances become larger, e.g., in the order of 5,000 to 10,000 instances, deployment tasks are becoming more complicated with issues of software distribution, installation, configuration, etc.
A system and method that address the aforementioned problems, as well as other related problems, are therefore desirable.